package xju.rjxy.shop.service;

import xju.rjxy.shop.model.domain.UserGame;
import xju.rjxy.shop.model.vo.UserGameVO;

import java.util.List;

/**
 * 用户游戏关联服务接口
 */
public interface IUserGameService {
    /**
     * 获取用户游戏关联列表
     */
    List<UserGameVO> getUserGameList();
    
    /**
     * 根据用户ID获取用户游戏列表
     */
    List<UserGameVO> getUserGameListByUserId(Integer userId);
    
    /**
     * 根据好友ID获取好友游戏列表
     */
    List<UserGameVO> getFriendGameList(Integer friendId);
    
    /**
     * 添加用户游戏关联
     */
    boolean addUserGame(UserGame userGame);
    
    /**
     * 更新用户游戏信息
     */
    boolean updateUserGame(UserGame userGame);
    
    /**
     * 删除用户游戏关联
     */
    boolean deleteUserGame(Integer id);
    
    /**
     * 根据用户ID和游戏ID查询
     */
    UserGame getUserGameByUserIdAndGameId(Integer userId, Integer gameId);
    
    /**
     * 获取用户游戏时长统计
     */
    Integer getTotalPlayTime(Integer userId);
    
    /**
     * 获取用户最近游玩游戏列表
     * @param userId 用户ID
     * @param limit 限制数量
     * @return 最近游玩游戏列表
     */
    List<UserGameVO> getRecentPlayedGames(Integer userId, Integer limit);
} 